package tablero;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;

import ataques.Disparo;
import ataques.Mina;
import barco.Componente;

public class Casillero implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private ArrayList<Componente> componentes;
    private ArrayList<Mina> minas;

    public Casillero() {
        componentes = new ArrayList<Componente>();
        minas = new ArrayList<Mina>();
    }

    public void colocarComponente(Componente componente) {
        this.componentes.add(componente);
    }

    public ArrayList<Componente> getComponentes() {
        return this.componentes;
    }

    public ArrayList<Mina> getMinas() {
        return this.minas;
    }

    public void recibirDisparo(Disparo disparo) {
        Iterator<Componente> i = this.componentes.iterator();
        while (i.hasNext()) {
            i.next().recibirAtaque(disparo);
        }
    }

    public void recibirMina(Mina mina) {
        minas.add(mina);
    }

    public void recibirAtaque(Disparo ataque) {
        Iterator<Componente> i = this.componentes.iterator();
        while (i.hasNext()) {
            i.next().recibirAtaque(ataque);
        }

    }

    public void recibirAtaque(Mina ataque) {
        minas.add(ataque);
    }

    public void explotarMina(Mina mina) {
        Iterator<Componente> i = this.componentes.iterator();
        while (i.hasNext()) {
            Componente componente = i.next();
            componente.recibirAtaque(mina);
        }
    }

}
